package com.ccc.scala.base7_collection

import scala.collection.mutable

object Collection12_Map {

  def main(args: Array[String]): Unit = {
    // 不可变 Map
    val map1 = Map("a" -> 1, "b" -> 2, "c" -> 3)
    val map2 = Map("d" -> 4, "e" -> 5, "f" -> 6)

    // 添加数据
    val map3 = map1 + ("d" -> 4)
    println(map3) // Map(a -> 1, b -> 2, c -> 3, d -> 4)

    // 删除数据
    val map4 = map3 - "d"
    println(map4) // Map(a -> 1, b -> 2, c -> 3)

    // 创建空集合
    val empty = Map.empty
    println(empty) // Map()

    // 获取指定key的值
    val i = map1.apply("c")
    println(i) // 3
    println(map1("c")) // 3

    // 获取可能存在的key值
    val maybeInt = map1.get("c")
    // 判断值是否存在
    if (maybeInt.isEmpty) println(s"Empty, default num: ${maybeInt.getOrElse(0)}")
    else println(maybeInt.get)
    // 3

    // 获取可能存在的key值, 如果不存在就使用默认值
    println(map1.getOrElse("c", 0)) // 3


  }

}
